1. Field of the Invention
The present invention relates to a disk drive command interface, and more particularly, to a disk drive for implementing data transfer initiated by nonstandard disk-drive commands on a serial ATA interface that only supports standard ATA disk-drive commands.
2. Description of the Prior Art
A standard parallel ATA interface uses a 40-pin connector and a bulky flat ribbon cable that is becoming unable to accommodate further growth in the data transfer capacity of the interface. A serial ATA interface is emerging that can accommodate growth in data transfer capacity and that uses a significantly smaller 7 conductor connector. The connector includes a receive differential pair of conductors and a transmit differential pair of conductors. The remaining three conductors are ground connections. The serial ATA interface does not provide for nonstandard (or vendor specific) disk-drive commands. Typically, nonstandard disk-drive commands are used primarily during disk-drive manufacture and quality testing. Providing a separate nonstandard disk-drive command interface would add to the cost of the disk drive.
Accordingly, there exists a need for a disk drive that implements data transfer initiated by nonstandard disk-drive commands on a serial ATA interface that only supports standard ATA disk-drive commands. The present invention satisfies theses needs.
The present invention may be embodied in a disk drive connectable to a host computer, and responsive to standard disk-drive commands associated with disk-drive operations and to nonstandard disk-drive commands required for disk drive manufacture and quality testing. The disk drive includes a disk, a head actuated radially over the disk, a disk control system, a serial ATA interface, and means for extracting a nonstandard disk-drive command for disk-drive data transfer. The disk control system responds to disk-drive commands and accesses data storage locations on the disk through the head. The serial ATA interface couples the disk control system to the host computer when the disk drive is connected to the host computer. The serial ATA interface is configured to transfer standard disk-drive commands from the host computer to the disk control system and is configured to not transfer nonstandard disk-drive commands from the host computer to the disk control system. The extracting means extracts a nonstandard disk-drive command for data transfer that is embedded within a first data block accessed using a standard disk-drive command. The nonstandard disk-drive command identifies the disk data for transfer. The disk drive further includes means for providing the extracted nonstandard disk-drive command to the disk control system, means for transmitting a status response, based on the extracted nonstandard disk-drive command for data transfer, from the disk drive to the host computer, and means for transmitting at least one additional standard disk-drive command, responsive to the status response, from the host computer through the serial ATA interface to the disk control system for transferring the identified data between the host computer and the disk drive.
In more detailed feature of the invention, the disk drive may further include buffer memory, flash memory, and/or a reserve area of the disk, for storing the identified data. The reserve area of the disk may be accessed using negative cylinder numbers or using negative logical block address numbers.
In more detailed feature of the invention, the nonstandard disk-drive command may include a code for defining a disk-drive data write operation in which the identified data is transferred from the host computer to the disk drive, or may include a code for defining a disk-drive data read operation in which the identified data is transferred from the disk drive to the host computer. The identified data may include at least one disk drive performance value or physical parameter of the disk drive. The first data block may include a logical block address, and the identified data may include a translation of the logical block address to a cylinder, head, sector address. Conversely, the first data block may include a cylinder, head, sector address, and the identified data may include a translation of the cylinder, head, sector address to a logical block address. Also, the first data block may include parameters defining a start data sector, or a start logical block address, and a sector count, the status response may include a sector count confirmation. At least one additional standard disk drive command may include the sector count. The first data block may include a file identification, and the identified data may comprise a disk-drive file. The first data block may include a wedge identification and a wedge count, and the identified data may comprise at least one data wedge on the disk.
In additional more detailed features of the invention, the disk control system may include a microprocessor and a memory having a microprocessor addressable range of memory addresses. The first data block may include a start memory address and a memory address count. The identified data may be stored in the memory beginning at the start memory address.
The present invention also may be embodied in a method for transferring disk-drive data between the disk drive and the host computer. In the method, a nonstandard disk-drive command for data transfer is embedded within a first data block accessible using a first standard disk-drive command. The nonstandard command identifies the disk-drive data for transfer. The first standard disk-drive command is transmitted from the host computer through the serial ATA interface to the disk control system. The standard disk-drive command causes the first data block to be transferred from the host computer to the disk control system. The embedded nonstandard disk-drive command for data transfer is extracted from the transferred first data block and provided to the disk control system. A status response is transmitted from the disk drive to the host computer based on the extracted nonstandard disk-drive command for data transfer. At least one additional standard disk-drive command, responsive to the status response, is transmitted from the host computer through the serial ATA interface to the disk control system for transferring the identified data between the host computer and the disk drive.